package com.ymx.darling.session;

import com.ymx.darling.build.Configuration;

/**
 * Session的工厂接口
 *
 * @author 爱Java的小于
 */
public interface SessionFactory {
    /**
     * 创建一个新会话（Session）
     * 底层会为这个新创建的会话打开一个数据库连接 事务的提交方式为默认不提交
     * @return 返回创建好的会话
     */
    Session openSession();

    /**
     * 创建一个新会话(Session)
     * 在底层创建数据库连接时 可以手动修改事务提交方式
     * @param isAutoCommit true 自动提交 false 手动提交
     * @return Session
     */
    Session openSession(boolean isAutoCommit);

    /**
     * 返回全局配置对象
     * @return Configuration
     */
    Configuration getConfiguration();
}
